﻿namespace Cos.Module.Configuration.Data
{
    using System.Collections.Generic;

    using Cos.Core.Model.Common;

    /// <summary>
    /// The Culture Repository interface signature.
    /// </summary>
    public interface ICultureRepository
    {
        /// <summary>
        /// Get the default culture
        /// </summary>
        /// <returns>The default culture</returns>
        Culture GetDefaultCulture();

        /// <summary>
        /// Get all the cultures in the database
        /// </summary>
        /// <returns>All the cultures in the database</returns>
        IEnumerable<Culture> GetCultures();

        /// <summary>
        /// Gets the culture.
        /// </summary>
        /// <param name="cultureCode">The culture code.</param>
        /// <returns>The Culture object.</returns>
        Culture GetCulture(string cultureCode);

        /// <summary>
        /// Saves the culture.
        /// </summary>
        /// <param name="culture">The culture object.</param>
        /// <returns>The Culture object.</returns>
        Culture SaveCulture(Culture culture);
    }
}